home *** CD-ROM | disk | FTP | other *** search
- GEM++ - C++ LIBRARIES FOR GEM/AES/VDI
-
-
-
- NAME
- GEMactivity - an interaction with the user through the GEM interface.
-
- DESCRIPTION
- An interaction is defined by a collection of objects - a menu, some
- windows, a desk accessory, a keysink and timer, all of which are
- optional.
-
- Objects add themselves to the activity when they are created
- and deleted. For example:
-
- GEMactivity myactivity;
- GEMrsc myrsc;
- GEMmenu mymenu(myactivity, myrsc, RSC_INDEX_OF_MENU);
-
- During the interaction, objects are passed relevent GEMevents,
- and they return GEMfeedback. The interaction continues until
- one of the objects returns a GEMfeedback message indicating that
- the interaction should end - for example, the GEMmenu might
- return EndInteraction when the "Quit" item is selected.
-
- A GEMactivity may only have one menu, one desk accessory and one
- keysink, so declare at most one of each of these object types
- (this should change in the future).
-
- CONSTRUCTORS
- GEMactivity()
- Create a GEMactivity containing no objects.
-
- METHODS
- void Do()
- Conduct a user interaction until one of the event processing
- objects signals for the interaction to end - see GEMfeedback.
-
- void BeginDo()
- GEMfeedback OneDo()
- GEMfeedback OneDo(int eventmask)
- void EndDo()
- By using these three calls, the interaction can be done in
- a polling manner - useful for adding GEM++ code as a front
- end to a non-event-driven program - such as one that is centred
- around a keyboard which is _read_ by the program rather than
- the user interface driving the program. The Do() method
- above is equivalent to:
-
- BeginDo();
- while (OneDo()!=EndInteraction) /* continue */;
- EndDo();
-
- The second form - OneDo(int eventmask) allows even greater
- control of event processing by allowing events to be masked
- out. See GEMevent (and gemfast.h) for eventtype values.
-
- GEMactivity does contain other methods that are used by components
- to register and deregister themselves. They are not needed by the
- library user.
-
- USAGE
- Declare a GEMapplication (always do this once before you use GEM).
- Declare a GEMrsc (you'll usually need one!).
- Declare a GEMactivity.
- Declare component objects that are to be in the activity.
- Do() the activity.
- Exit your program.
-
- SEE ALSO
- GEMmenu, GEMwindow, GEMformwindow, GEMdesktop, GEMdeskaccessory,
- GEMkeysink, GEMtimer.
-
- BUGS
- Bugs in GEM++ should be reported to warwick@cs.uq.oz.au
-
- AUTHOR
- Warwick Allison, 1993.
- warwick@cs.uq.oz.au
-
- COPYING
- This functionality is part of the GEM++ library,
- and is Copyright 1993 by Warwick W. Allison.
-
- GEM++ is free and protected under the GNU Library General Public
- License.
-
- You are free to copy and modify these sources, provided you
- acknowledge the origin by retaining this notice, and adhere to
- the conditions described in the GNU LGPL.
-